package com.zjxf.service;

import com.alibaba.fastjson.JSONObject;
import com.zjxf.base.bean.po.UmsAdmin;
import com.zjxf.base.bean.po.UmsStore;
import com.zjxf.base.bean.ro.RoUmsStore;
import com.zjxf.base.bean.vo.VoUmsStore;
import com.zjxf.base.common.OperationException;
import com.zjxf.utils.RadomUP;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * 商铺
 *
 * @author ZhangWei
 * @date 2021/3/27/027 16:01
 */
public interface UmsStoreService {

    /**
     * 添加
     * @param voStore
     * @param umsAdmin
     */
    RadomUP.UP add(VoUmsStore.addOrUpdate vo, UmsAdmin umsAdmin) throws OperationException;

    /**
     * 删除
     * @param id
     */
    void delete(Long id) throws OperationException;

    /**
     * 分页
     * @param filter
     * @return
     */
    Page<UmsStore> page(VoUmsStore.filter filter);

    /**
     * 分页ro
     * @param umsStorePage
     * @return
     */
    JSONObject pageRo(Page<UmsStore> umsStorePage);

    /**
     * 回显
     * @param id
     * @return
     */
    UmsStore getEntity(Long id) throws OperationException;

    /**
     * 回显ro
     * @param umsStore
     * @return
     */
    RoUmsStore.Details getEntityRo(UmsStore umsStore);

    /**
     * 修改
     * @param voStore
     * @param umsAdmin
     */
    void Update(VoUmsStore.addOrUpdate voStore, UmsAdmin umsAdmin) throws OperationException;

    /**
     * 获取全部的区县id
     *
     * @return List<umsStore>
     */
    List<UmsStore> findAll();

}
